package com.xique.park.service.biz.service;

import com.xique.common.core.web.domain.AjaxResult;
import com.xique.park.bean.domain.ParkCarMngtype;
import com.xique.park.bean.request.web.mngType.*;

/**
 * 车辆管理类型bizService
 *
 * @author lxl
 */
public interface IParkMngTypeBizService {

    /**
     * 获取车辆管理类型列表
     *
     * @param request 请求参数
     * @return com.xique.common.core.web.domain.AjaxResult
     * @author lxl
     * @date 2022/02/15
     */
    AjaxResult getParkCarMngTypeList(MngTypeListRequest request);

    /**
     * 获取车辆管理类型信息
     *
     * @param id 车辆管理类型ID
     * @return 车辆管理类型信息
     */
    AjaxResult getParkCarMngTypeInfo(Long id);

    /**
     * 添加保存车辆管理类型
     *
     * @param request 车辆管理类型信息
     * @return 保存结果
     */
    AjaxResult addParkCarMngType(MngTypeAddRequest request);

    /**
     * 编辑保存车辆管理类型
     *
     * @param request 车辆管理类型信息
     * @return 编辑保存结果
     */
    AjaxResult editParkCarMngType(MngTypeEditRequest request);

    /**
     * 删除车辆管理类型
     *
     * @param request 请求参数
     * @return 删除结果
     */
    AjaxResult delParkCarMngType(MngTypeDeleteRequest request);

    /**
     * 下载管理类型
     *
     * @param request 请求参数
     * @return 下载管理类型结果
     */
    AjaxResult downMngType(MngTypeDownRequest request);

    /**
     * 车场临停车获取不可选车牌颜色
     *
     * @return 不可选车牌颜色
     */
    AjaxResult getTempInvalidColors();

    /**
     * 修改车辆管理类型状态
     *
     * @param parkCarMngtype 车辆管理类型
     * @return /
     */
    int changeStatus(ParkCarMngtype parkCarMngtype);

    /**
     * 查询车辆管理类型
     *
     * @param id 车辆管理类型ID
     * @return 车辆管理类型
     */
    ParkCarMngtype selectParkCarMngtypeById(Long id);
}
